#ifndef __CacheSim__SetAssociativeCache__
#define __CacheSim__SetAssociativeCache__

#include "Cache.h"
#include <cmath>

class SetAssociativeCache :
	public Cache
{
public:
	SetAssociativeCache(unsigned size, unsigned lineSize, unsigned linesPerSet = 4);
	~SetAssociativeCache();
	virtual float getFilled();

private:
	virtual bool checkHit();

private:
	int **cache;
	unsigned linesPerSet;

};

#endif

